package com.lsnu.ehr.jpa;

import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import com.lsnu.ehr.entity.PostTurn;

// JpaRepository jpa操作接口，定义了常用的增删查改方法
// 泛型<Post, Long> 指定操作类和类的主键类型
// JpaRepository 接口不需要实现就可以对实体类进行增删查改
// springjpa 框架会代理接口方法进行实现

public interface PostTurnRepository extends JpaRepository<PostTurn, Long>,JpaSpecificationExecutor<PostTurn> {
	/**
	 * 根据岗位调动时间区域对部门调动进行查询
	 * @param beginDate  	开始时间
	 * @param endDate		末尾时间
	 * @param page			当前页数
	 * @param pageLength一	页最大显示数
	 * @return
	 */
	@Query(value = "select * from t_post_turn where t_post_turn.turn_date>=?1 and t_post_turn.turn_date<?2 limit ?3,?4", nativeQuery = true)
	List<PostTurn> findPostTurnByDate(String beginDate, String endDate, Integer page, Integer pageLength);
	@Query(value = "select count(*) from t_post_turn where t_post_turn.turn_date>=?1 and t_post_turn.turn_date<?2", nativeQuery = true)
	Long findPostTurnByDateCount(String beginDate, String endDate);

}
